rguenth [Wed, 16 Dec 2015 13:45:40 +0000 (13:45 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231689
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Wed, 16 Dec 2015 13:43:56 +0000 (13:43 +0000)]
gcc/
* config/i386/i386-c.c (ix86_target_macros_internal): Remove
duplicate check (__CLZERO__).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231688
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 16 Dec 2015 12:37:02 +0000 (12:37 +0000)]
2015-12-16 Richard Biener <rguenther@suse.de>
PR testsuite/68915
* gcc.dg/vect/pr46032.c: Use dg-additional-options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231687
138bc75d-0d04-0410-961f-
82ee72b054a4
mwahab [Wed, 16 Dec 2015 12:21:47 +0000 (12:21 +0000)]
[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".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231686
138bc75d-0d04-0410-961f-
82ee72b054a4
mwahab [Wed, 16 Dec 2015 12:16:13 +0000 (12:16 +0000)]
[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".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231685
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 16 Dec 2015 12:13:05 +0000 (12:13 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231684
138bc75d-0d04-0410-961f-
82ee72b054a4
mwahab [Wed, 16 Dec 2015 12:10:59 +0000 (12:10 +0000)]
[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".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231683
138bc75d-0d04-0410-961f-
82ee72b054a4
mwahab [Wed, 16 Dec 2015 12:02:15 +0000 (12:02 +0000)]
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231682
138bc75d-0d04-0410-961f-
82ee72b054a4
mwahab [Wed, 16 Dec 2015 11:56:21 +0000 (11:56 +0000)]
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231681
138bc75d-0d04-0410-961f-
82ee72b054a4
mwahab [Wed, 16 Dec 2015 11:50:43 +0000 (11:50 +0000)]
[ARM] Multilib support for ARMv8.1.
* config/arm/t-aprofile: Make "armv8.1-a" and "armv8.1-a+crc"
matches for "armv8-a".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231680
138bc75d-0d04-0410-961f-
82ee72b054a4
mwahab [Wed, 16 Dec 2015 11:45:25 +0000 (11:45 +0000)]
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231678
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Wed, 16 Dec 2015 10:40:04 +0000 (10:40 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231676
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Wed, 16 Dec 2015 10:01:48 +0000 (10:01 +0000)]
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231675
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 16 Dec 2015 09:21:04 +0000 (09:21 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231674
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 16 Dec 2015 08:04:31 +0000 (08:04 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231672
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 16 Dec 2015 04:58:13 +0000 (04:58 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231671
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 16 Dec 2015 04:56:34 +0000 (04:56 +0000)]
* symtab.c (symtab_node::fixup_same_cpp_alias_visibility):
Do not copy DECL_VIRTUAL_P.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231670
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 16 Dec 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231668
138bc75d-0d04-0410-961f-
82ee72b054a4
msebor [Tue, 15 Dec 2015 21:04:08 +0000 (21:04 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231665
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Tue, 15 Dec 2015 20:46:37 +0000 (20:46 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231663
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 15 Dec 2015 17:06:25 +0000 (17:06 +0000)]
Restore accidentally-removed volatile qualifier
* include/std/functional (_Mu<_Arg, false, false>::operator()): Restore
accidentally-removed volatile qualifier.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231660
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Tue, 15 Dec 2015 17:05:01 +0000 (17:05 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231659
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 15 Dec 2015 16:21:50 +0000 (16:21 +0000)]
* hash-map.h, hash-table.h: Make copy constructors explicit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231658
138bc75d-0d04-0410-961f-
82ee72b054a4
afanfa [Tue, 15 Dec 2015 16:12:41 +0000 (16:12 +0000)]
Add space between name and email in Changelog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231657
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Tue, 15 Dec 2015 15:13:49 +0000 (15:13 +0000)]
PR c/68907
* c-typeck.c (build_atomic_assign): Set TREE_NO_WARNING on an
artificial decl.
* gcc.dg/pr68907.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231656
138bc75d-0d04-0410-961f-
82ee72b054a4
iverbin [Tue, 15 Dec 2015 14:56:50 +0000 (14:56 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231655
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 15 Dec 2015 14:34:01 +0000 (14:34 +0000)]
Fix PR21273
PR middle-end/21273
* gensupport.c (collect_insn_data): Look for number of alternatives
in MATCH_SCRATCH.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231654
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 15 Dec 2015 14:17:27 +0000 (14:17 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231653
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 15 Dec 2015 14:17:17 +0000 (14:17 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231652
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Tue, 15 Dec 2015 13:32:48 +0000 (13:32 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231651
138bc75d-0d04-0410-961f-
82ee72b054a4
afanfa [Tue, 15 Dec 2015 13:19:21 +0000 (13:19 +0000)]
Fix ICE for coarray Critical inside module procedure
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231649
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Tue, 15 Dec 2015 13:07:15 +0000 (13:07 +0000)]
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231648
138bc75d-0d04-0410-961f-
82ee72b054a4
afanfa [Tue, 15 Dec 2015 13:01:06 +0000 (13:01 +0000)]
Add myself to MAINTAINERS
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231647
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 15 Dec 2015 10:18:13 +0000 (10:18 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231646
138bc75d-0d04-0410-961f-
82ee72b054a4
hainque [Tue, 15 Dec 2015 09:36:37 +0000 (09:36 +0000)]
Skip block move tests for mcpu=gr5 on Visium
testsuite/
* gcc.target/visium/block_move.c: Skip for -mcpu=gr5.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231645
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 15 Dec 2015 07:46:23 +0000 (07:46 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231644
138bc75d-0d04-0410-961f-
82ee72b054a4
timshen [Tue, 15 Dec 2015 04:50:29 +0000 (04:50 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231641
138bc75d-0d04-0410-961f-
82ee72b054a4
ppalka [Tue, 15 Dec 2015 03:33:53 +0000 (03:33 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231640
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Tue, 15 Dec 2015 03:16:26 +0000 (03:16 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231639
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 15 Dec 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231638
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Mon, 14 Dec 2015 23:58:31 +0000 (23:58 +0000)]
2015-12-14 Steve Ellcey <sellcey@imgtec.com>
* gcc.dg/tree-ssa/ssa-fre-4.c: Remove mips*-*-* target.
* gcc.target/mips/ext-2.c: Update scan checks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231635
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Mon, 14 Dec 2015 23:56:28 +0000 (23:56 +0000)]
2015-12-14 Steve Ellcey <sellcey@imgtec.com>
* config/mips/mips.c (mips_promote_function_mode): New function.
(TARGET_PROMOTE_FUNCTION_MODE): Define as above function.
(TARGET_PROMOTE_PROTOTYPES): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231634
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 14 Dec 2015 20:54:17 +0000 (20:54 +0000)]
PR c++/68309
gcc/
* hash-table.h: Add copy constructor.
* hash-map.h: Add copy constructor.
gcc/cp/
* pt.c (instantiate_decl): Copy local_specializations for nested
function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231632
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Mon, 14 Dec 2015 19:31:51 +0000 (19:31 +0000)]
2014-12-14 Tobias Burnus <burnus@net-b.de>
PR fortran/68850
* gfortran.texi (Standards): Mention TS 18508.
(Fortran 2003 and 2008 Status): Add section on TS 18508 status.
* intrinsic.texi (EVENT_QUERY): Add.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231631
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Mon, 14 Dec 2015 19:29:48 +0000 (19:29 +0000)]
Dump default defs for arguments, static chain and decl-by-reference
2015-12-14 Tom de Vries <tom@codesourcery.com>
PR other/68882
* gimple-pretty-print.c (dump_ssaname_info_to_file): New function.
* gimple-pretty-print.h (dump_ssaname_info_to_file): Declare.
* tree-cfg.c (dump_default_def): New function.
(dump_function_to_file): Dump default defs for arguments, static chain,
and decl-by-reference.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231630
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Mon, 14 Dec 2015 19:26:49 +0000 (19:26 +0000)]
gcc/
* config/nvptx/nvptx.h (PARM_BOUNDARY): Set to 32.
* config/nvptx/nvptx.c (PASS_IN_REG_P, RETURN_IN_REG_P): Delete.
(pass_in_memory, promote_arg, promote_return): New.
(nvptx_function_arg_boundary): Delete.
(nvptx_function_value): Use promote_return.
(nvptx_pass_by_reference): Use pass_in_memory.
(nvptx_return_in_memory): Use pass_in_memory.
(nvptx_promote_function_mode): Use promote_arg.
(write_arg): Adjust arg splitting logic.
(write_return): Check and clear ret_reg_mode, if needed.
(write_fn_proto, nvptx_declare_function_name): Adust write_return
calls.
(TARGET_RUNCTION_ARG_BOUNDARY,
TARGET_FUNCTION_ARG_ROUND_BOUNDARY): Don't override.
gcc/testsuite/
* g++.dg/abi/nvptx-nrv1.C: New.
* g++.dg/abi/nvptx-ptrmem1.C: New.
* gcc.target/nvptx/abi-complex-arg.c: New.
* gcc.target/nvptx/abi-complex-ret.c: New.
* gcc.target/nvptx/abi-enum-arg.c: New.
* gcc.target/nvptx/abi-enum-ret.c: New.
* gcc.target/nvptx/abi-knr-arg.c: New.
* gcc.target/nvptx/abi-knr-ret.c: New.
* gcc.target/nvptx/abi-scalar-arg.c: New.
* gcc.target/nvptx/abi-scalar-ret.c: New.
* gcc.target/nvptx/abi-struct-arg.c: New.
* gcc.target/nvptx/abi-struct-ret.c: New.
* gcc.target/nvptx/abi-vararg-1.c: New.
* gcc.target/nvptx/abi-vararg-2.c: New.
* gcc.target/nvptx/abi-vect-arg.c: New.
* gcc.target/nvptx/abi-vect-ret.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231628
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 14 Dec 2015 16:59:05 +0000 (16:59 +0000)]
PR c/68833
* common.opt (Wmissing-noreturn): Add Warning option.
* opts-common.c (control_warning_option): If opt is
alias_target with alias_arg, set arg to it.
* c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
* c-c++-common/pr68833-1.c: New test.
* c-c++-common/pr68833-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231624
138bc75d-0d04-0410-961f-
82ee72b054a4
iverbin [Mon, 14 Dec 2015 16:46:54 +0000 (16:46 +0000)]
libgomp/
* libgomp.h (gomp_device_state): New enum.
(struct gomp_device_descr): Replace is_initialized with state.
(gomp_fini_device): Remove declaration.
* oacc-host.c (host_dispatch): Use state instead of is_initialized.
* oacc-init.c (acc_init_1): Use state instead of is_initialized.
(acc_shutdown_1): Likewise. Inline gomp_fini_device.
(acc_set_device_type): Use state instead of is_initialized.
(acc_set_device_num): Likewise.
* target.c (resolve_device): Use state instead of is_initialized.
Do not initialize finalized device.
(gomp_map_vars): Do nothing if device is finalized.
(gomp_unmap_vars): Likewise.
(gomp_update): Likewise.
(GOMP_offload_register_ver): Use state instead of is_initialized.
(GOMP_offload_unregister_ver): Likewise.
(gomp_init_device): Likewise.
(gomp_unload_device): Likewise.
(gomp_fini_device): Remove.
(gomp_get_target_fn_addr): Do nothing if device is finalized.
(GOMP_target): Go to host fallback if device is finalized.
(GOMP_target_ext): Likewise.
(gomp_exit_data): Do nothing if device is finalized.
(gomp_target_task_fn): Go to host fallback if device is finalized.
(gomp_target_fini): New static function.
(gomp_target_init): Use state instead of is_initialized.
Call gomp_target_fini at exit.
liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp (unregister_main_image): Remove.
(register_main_image): Do not call unregister_main_image at exit.
(GOMP_OFFLOAD_fini_device): Allow for OpenMP. Unregister main image.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231623
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Mon, 14 Dec 2015 16:13:33 +0000 (16:13 +0000)]
rs6000: Fix a mistake in cstore_si_as_di (PR68865, PR68879)
convert_move does not know how to zero-extend a constant integer to the
target mode -- simply because it does not know the source mode. As a
result, 32-bit SImode with the high bit set would be effectively sign-
extended instead of zero-extended.
This patch fixes it.
PR target/68865
PR target/68879
* config/rs6000/rs6000.md (cstore_si_as_di): Force all operands
into registers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231621
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 14 Dec 2015 15:33:20 +0000 (15:33 +0000)]
2015-12-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/68707
PR tree-optimization/67323
* tree-vect-slp.c (vect_analyze_slp_instance): Drop SLP instances
if they can be vectorized using load/store-lane instructions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231620
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 14 Dec 2015 15:26:24 +0000 (15:26 +0000)]
2015-12-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/68852
* tree-vectorizer.h (struct _slp_tree): Add def_type member.
(SLP_TREE_DEF_TYPE): New accessor.
* tree-vect-stmts.c (vect_is_simple_use): Remove BB vectorization
hack.
* tree-vect-slp.c (vect_create_new_slp_node): Initialize
SLP_TREE_DEF_TYPE.
(vect_build_slp_tree): When a node is to be built up from scalars
do not push a NULL as child but instead set its def_type to
vect_external_def.
(vect_analyze_slp_cost_1): Check for child def-type instead
of NULL.
(vect_detect_hybrid_slp_stmts): Likewise.
(vect_bb_slp_scalar_cost): Likewise.
(vect_get_slp_defs): Likewise.
(vect_slp_analyze_node_operations): Likewise. Before
processing node push the children def-types to the underlying
stmts vinfo and restore it afterwards.
(vect_schedule_slp_instance): Likewise.
(vect_slp_analyze_bb_1): Do not mark stmts not in SLP instances
as not vectorizable.
* g++.dg/torture/pr68852.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231619
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 14 Dec 2015 13:42:03 +0000 (13:42 +0000)]
2015-12-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/68775
* tree-vect-slp.c (vect_build_slp_tree): Make sure to apply
a operand swapping even if replacing the op with scalars.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231617
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Mon, 14 Dec 2015 11:33:00 +0000 (11:33 +0000)]
[combine] Don't create LSHIFTRT of zero bits in change_zero_ext
* combine.c (change_zero_ext): Do not create a shift of zero length.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231613
138bc75d-0d04-0410-961f-
82ee72b054a4
ville [Mon, 14 Dec 2015 11:11:03 +0000 (11:11 +0000)]
Bad date on the Changelog entry, boo hiss.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231612
138bc75d-0d04-0410-961f-
82ee72b054a4
ville [Mon, 14 Dec 2015 11:08:30 +0000 (11:08 +0000)]
Document the implementation of Logical Operator Type Traits.
* doc/html/index.html: Regenerate.
* doc/html/manual/status.html: Likewise.
* doc/xml/manual/status_cxx2017.xml: Add P0013R1 to C++ 201z
and to Library Fundamentals 2 TS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231611
138bc75d-0d04-0410-961f-
82ee72b054a4
amonakov [Mon, 14 Dec 2015 10:15:13 +0000 (10:15 +0000)]
* gcc.dg/builtin-return-1.c: Correct effective-target test.
* gcc.dg/stack-usage-2.c: Use effective-target test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231610
138bc75d-0d04-0410-961f-
82ee72b054a4
claziss [Mon, 14 Dec 2015 09:59:02 +0000 (09:59 +0000)]
[ARC] Use TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P hook.
gcc/
2015-12-14 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.c (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P):
Provide target hook.
(arc_no_speculation_in_delay_slots_p): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231609
138bc75d-0d04-0410-961f-
82ee72b054a4
claziss [Mon, 14 Dec 2015 09:46:13 +0000 (09:46 +0000)]
[ARC] Refurbish emitting DWARF2 related information when expanding epilogue.
gcc/
2015-12-14 Claudiu Zissulescu <claziss@synopsys.com>
Andrew Burgess <andrew.burgess@embecosm.com>
* config/arc/arc.c (frame_move): Set frame related flag.
(arc_save_restore): Emit epilogue related DWARF2 information.
(arc_expand_epilogue): Likewise.
* config/arc/arc.opt (mno-epilogue-cfi): Remove.
(mepilogue-cfi): Likewise.
* doc/invoke.texi: Remove -m[no]-epilogue-cfi documentation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231608
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Mon, 14 Dec 2015 09:33:12 +0000 (09:33 +0000)]
[PR 66616] Check for thunks when adding extra constants to clones
2015-12-14 Martin Jambor <mjambor@suse.cz>
PR ipa/66616
* ipa-cp.c (propagate_constants_accross_call): Move thuk check...
(call_passes_through_thunk_p): ...here.
(find_more_scalar_values_for_callers_subset): Perform thunk checks
like propagate_constants_accross_call does.
testsuite/
* g++.dg/ipa/pr66616.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231607
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 14 Dec 2015 08:04:37 +0000 (08:04 +0000)]
PR rtl-optimization/68730
* cfgrtl.c (cfg_layout_finalize): Free dominators.
* gcc.dg/pr68730.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231606
138bc75d-0d04-0410-961f-
82ee72b054a4
thopre01 [Mon, 14 Dec 2015 02:05:16 +0000 (02:05 +0000)]
2015-12-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
PR testsuite/68629
* lib/target-supports.exp (check_effective_target_cilkplus): Also
check that compiling with -fcilkplus does not give an error.
* c-c++-common/attr-simd-3.c: Require cilkplus effective target.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231605
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 14 Dec 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231604
138bc75d-0d04-0410-961f-
82ee72b054a4
aoliva [Sun, 13 Dec 2015 20:37:26 +0000 (20:37 +0000)]
[PR67355] drop dummy zero from reverse VTA ops, fix infinite recursion
VTA's cselib expression hashing compares expressions with the same
hash before adding them to the hash table. When there is a collision
involving a self-referencing expression, we could get infinite
recursion, in spite of the cycle breakers already in place. The
problem is currently latent in the trunk, because by chance we don't
get a collision.
Such value cycles are often introduced by reverse_op; most often,
they're indirect, and then value canonicalization takes care of the
cycle, but if the reverse operation simplifies to the original value,
we used to issue a (plus V (const_int 0)), because at some point
adding a plain value V to a location list as a reverse_op equivalence
caused other problems.
This dummy zero, in turn, caused the value canonicalizer to not fully
realize the equivalence, leading to more complex graphs and,
occasionally, to infinite recursion when comparing such
value-plus-zero expressions recursively.
Simply using V solves the infinite recursion from the PR testcase,
since the extra equivalence and the preexisting value canonicalization
together prevent recursion while the unrecognized equivalence
wouldn't, but it exposed another infinite recursion in
memrefs_conflict_p: get_addr had a cycle breaker in place, to skip RTL
referencing values introduced after the one we're examining, but it
wouldn't break the cycle if the value itself appeared in the
expression being examined.
After removing the dummy zero above, this kind of cycle in the
equivalence graph is no longer introduced by VTA itself, but dummy
zeros are also present in generated code, such as in the 32-bit x86's
pro_epilogue_adjust_stack_si_add epilogue insn generated as part of
the builtin longjmp in _Unwind_RaiseException building libgcc's
unwind-dw2.o. So, break the recursion cycle for them too.
for gcc/ChangeLog
PR debug/67355
* var-tracking.c (reverse_op): Don't add dummy zero to reverse
ops that simplify back to the original value.
* alias.c (refs_newer_value_p): Cut off recursion for
expressions containing the original value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231599
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Sun, 13 Dec 2015 13:10:33 +0000 (13:10 +0000)]
* gcc.dg/graphite/pr42729.c: XFAIL AIX.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231598
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 13 Dec 2015 13:06:12 +0000 (13:06 +0000)]
[PATCH][PR target/19201] Peephole to improve clearing items in structure for m68k
* config/m68k/m68k.md (load feeding clear byte): New peephole2.
* gcc.target/m68k/pr19201.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231597
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 13 Dec 2015 12:51:02 +0000 (12:51 +0000)]
[PATCH] m68k testsuite TLC
* gcc.target/m68k/pr63347.c: Remove #include <stdlib> add -w to
command line options.
* gcc.target/m68k/
20090709-1.c: Adjust expected output.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231596
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Sun, 13 Dec 2015 12:43:21 +0000 (12:43 +0000)]
Handle sizes and kinds params of GOACC_paralllel in find_func_clobbers
2015-12-13 Tom de Vries <tom@codesourcery.com>
* tree-ssa-structalias.c (find_func_clobbers): Handle sizes and kinds
parameters of GOACC_paralllel.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231595
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 13 Dec 2015 02:13:15 +0000 (02:13 +0000)]
* cgraph.c (cgraph_node::get_untransformed_body): Pass compressed
flag to lto_get_section_data.
* varpool.c (varpool_node::get_constructor): Likewise.
* lto-section-in.c (lto_get_section_data): Add new flag decompress.
(lto_free_section_data): Likewise.
(lto_get_raw_section_data): New function.
(lto_free_raw_section_data): New function.
(copy_function_or_variable): Copy sections w/o decompressing.
(lto_output_decl_state_refs): Picke compressed bit.
* lto-streamer.h (lto_in_decl_state): New flag compressed.
(lto_out_decl_state): Likewise.
(lto_get_section_data, lto_free_section_data): Update prototypes
(lto_get_raw_section_data, lto_free_raw_section_data): Declare.
(lto_write_raw_data): Declare.
(lto_begin_section): Remove FIXME.
(lto_write_raw_data): New function.
(lto_write_stream): Remove FIXME.
(lto_new_out_decl_state): Set compressed flag.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231594
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 13 Dec 2015 02:12:15 +0000 (02:12 +0000)]
* cgraph.c (cgraph_node::get_untransformed_body): Pass compressed
flag to lto_get_section_data.
* varpool.c (varpool_node::get_constructor): Likewise.
* lto-section-in.c (lto_get_section_data): Add new flag decompress.
(lto_free_section_data): Likewise.
(lto_get_raw_section_data): New function.
(lto_free_raw_section_data): New function.
(copy_function_or_variable): Copy sections w/o decompressing.
(lto_output_decl_state_refs): Picke compressed bit.
* lto-streamer.h (lto_in_decl_state): New flag compressed.
(lto_out_decl_state): Likewise.
(lto_get_section_data, lto_free_section_data): Update prototypes
(lto_get_raw_section_data, lto_free_raw_section_data): Declare.
(lto_write_raw_data): Declare.
(lto_begin_section): Remove FIXME.
(lto_write_raw_data): New function.
(lto_write_stream): Remove FIXME.
(lto_new_out_decl_state): Set compressed flag.
* lto.c (lto_read_in_decl_state): Unpickle compressed bit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231593
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Sun, 13 Dec 2015 01:55:02 +0000 (01:55 +0000)]
* g++.dg/opt/pr48549.C: XFAIL AIX.
* g++.dg/abi/anon1.C: XFAIL AIX.
* gcc.dg/graphite/pr42917.c: XFAIL AIX.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231592
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 13 Dec 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231591
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 12 Dec 2015 21:41:31 +0000 (21:41 +0000)]
* tree.c (free_lang_data_in_type, find_decls_types_r): Also free
unnecesary type decls.
* tree.h (is_redundant_typedef): Declare.
* dwarf2out.c (is_redundant_typedef): Export; booleanize
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231588
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 12 Dec 2015 21:11:40 +0000 (21:11 +0000)]
Fix date
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231587
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 12 Dec 2015 21:10:35 +0000 (21:10 +0000)]
* config/sparc/sparc.h (TARGET_SUPPORTS_WIDE_INT): Define to 1.
* config/sparc/sparc.c (sparc_emit_set_const64): Remove code
conditionalized on HOST_BITS_PER_WIDE_INT == 32.
(sparc_cannot_force_const_mem) <CONST_WIDE_INT>: New case.
<CONST_DOUBLE>: Remove VOIDmode test.
(epilogue_renumber) <CONST_WIDE_INT>: New case.
(sparc_print_operand): Remove support for CONST_DOUBLE with VOIDmode.
(sparc_assemble_integer): Likewise.
(set_extends): Likewise.
(sparc_rtx_costs) <CONST_INT>: Use SMALL_INT.
<CONST_WIDE_INT>: New case.
<CONST_DOUBLE>: Remove support for VOIDmode.
<MULT>: Remove support for CONST_DOUBLE with VOIDmode.
* config/sparc/predicates.md (const_zero_operand): Add const_wide_int.
(const_all_ones_operand): Likewise.
(uns_small_int_operand): Remove const_double and code conditionalized
on HOST_BITS_PER_WIDE_INT == 32.
(arith_double_operand): Likewise.
(arith_double_add_operand): Likewise.
(input_operand): Remove support for CONST_DOUBLE with DImode.
* config/sparc/sparc.md (DImode CONST_INT splitter): Remove code
conditionalized on HOST_BITS_PER_WIDE_INT == 32.
(DFmode CONST_DOUBLE splitter): Likewise.
(*adddi3_insn_sp32): Likewise.
(*subdi3_insn_sp32): Likewise.
(DImode logical splitter): Likewise.
(DImode CONST_DOUBLE splitter): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231586
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sat, 12 Dec 2015 19:00:32 +0000 (19:00 +0000)]
2014-12-12 Tobias Burnus <burnus@net-b.de>
gcc/fortran
PR fortran/45859
* expr.c (gfc_is_simply_contiguous): Optionally permit array
* elements.
(gfc_check_pointer_assign): Update call.
* interface.c (compare_parameter): Ditto.
* trans-array.c (gfc_conv_array_parameter): Ditto.
* trans-intrinsic.c (gfc_conv_intrinsic_transfer,
conv_isocbinding_function): Ditto.
* gfortran.h (gfc_is_simply_contiguous): Update prototype.
gcc/testsuite/
PR fortran/45859
* gcc/testsuite/gfortran.dg/coarray_args_2.f90: Remove dg-error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231585
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sat, 12 Dec 2015 18:55:25 +0000 (18:55 +0000)]
2014-12-12 Tobias Burnus <burnus@net-b.de>
gcc/c-family/
PR fortran/68815
* c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
specifiers (%d, %i,%u and %c).
gcc/fortran/
PR fortran/68815
* check.c (gfc_check_reshape): Replace %<%d%> by %qd.
* matchexp.c (gfc_match_defined_op_name): Use %qc.
* symbol.c (gfc_add_new_implicit_range,
gfc_merge_new_implicit): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231584
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Sat, 12 Dec 2015 13:12:10 +0000 (13:12 +0000)]
* gcc.target/powerpc/pr67808.c: Add -mlong-double-128 option.
* g++.dg/cpp1y/pr58708.C: Test appropriate value for size of
wchar_t.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231583
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Sat, 12 Dec 2015 08:29:27 +0000 (08:29 +0000)]
gcc:
PR sanitizer/68418
* c-family/c-ubsan.c (ubsan_instrument_shift): Disable
sanitization of left shifts for wrapping signed types as well.
gcc/testsuite:
PR sanitizer/68418
* gcc.dg/ubsan/c99-wrapv-shift-1.c,
gcc.dg/ubsan/c99-wrapv-shift-2.c: New testcases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231582
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 12 Dec 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231580
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 11 Dec 2015 23:18:22 +0000 (23:18 +0000)]
[PATCH][PR tree-optimization/68844] Fix testcase expected output
PR tree-optimization/68844
* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Update expected output.
2015-12-11 Jan Beulich <jbeulich@suse.com>
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231577
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 11 Dec 2015 21:58:48 +0000 (21:58 +0000)]
PR middle-end/68215
* tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
Do not gimplify the result.
(do_unop): Adjust call to tree_vec_extract.
(do_binop): Likewise.
(do_compare): Likewise.
(do_plus_minus): Likewise.
(do_negate): Likewise.
(expand_vector_condition): Likewise.
(do_cond): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231575
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 11 Dec 2015 21:45:51 +0000 (21:45 +0000)]
Fix std::invoke support for reference_wrappers
PR libstdc++/59768
* include/std/functional (_Unwrap, __invfwd): Define.
(__invoke_impl): Remove reference_wrapper overloads and use __invfwd.
* include/std/type_traits (__result_of_memobj, __result_of_memfun):
Add partial specializations for const reference_wrappers and simplify.
* testsuite/20_util/bind/ref_neg.cc: Use dg-excess-errors.
* testsuite/20_util/function_objects/invoke/59768.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231574
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Fri, 11 Dec 2015 18:06:37 +0000 (18:06 +0000)]
* config/nvptx/nvptx.h (RETURN_ADDR_REGNO): Delete.
(OUTGOING_ARG_POINTER_REGNUM): Delete.
(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
(REGISTER_NAMES): Name static chain regs.
* config/nvptx/nvptx.c (nvptx_function_arg): Add ARG_UNUSED, merge
ifs.
(nvptx_incoming_arg): Merge ifs.
(nvptx_function_arg_boundary): Reimplement to avoid mixing units.
(nvptx_function_value): Tail call nvptx_libcall_value.
(nvptx_pass_by_reference): Add ARG_UNUSED.
(nvptx_static_chain): Use conditional op.
(nvptx_handle_kernel_attribute): Use VOID_TYPE_P.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231572
138bc75d-0d04-0410-961f-
82ee72b054a4
dominiq [Fri, 11 Dec 2015 16:39:49 +0000 (16:39 +0000)]
2015-12-11 Jan-Benedict Glaw <jbglaw@lug-owl.de>
Dominique d'Humieres <dominiq@lps.ens.fr>
PR target/26427
PR target/33120
PR testsuite/35710
* config/darwin.c (darwin_use_anchors_for_symbol_p): Fix indention and
trailing whitespace.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231571
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Fri, 11 Dec 2015 15:55:48 +0000 (15:55 +0000)]
* gcc.dg/pr59605-1.c: Reduce iterations for nvptx.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231570
138bc75d-0d04-0410-961f-
82ee72b054a4
jbeulich [Fri, 11 Dec 2015 15:53:24 +0000 (15:53 +0000)]
avoid alignment of static variables affecting stack's
Function (or more narrow) scope static variables (as well as others not
placed on the stack) should also not have any effect on the stack
alignment. I noticed the issue first with Linux'es dynamic_pr_debug()
construct using an 8-byte aligned sub-file-scope local variable.
According to my checking bad behavior started with 4.6.x (4.5.3 was
still okay), but generated code got quite a bit worse as of 4.9.0.
gcc/
2015-12-11 Jan Beulich <jbeulich@suse.com>
* cfgexpand.c (expand_one_var): Exit early for static and
external variables when adjusting stack alignment related.
gcc/testsuite/
2015-12-11 Jan Beulich <jbeulich@suse.com>
* gcc.c-torture/execute/stkalign.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231569
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 11 Dec 2015 15:08:00 +0000 (15:08 +0000)]
* ChangeLog: Remove confusign PR marker.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231567
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Fri, 11 Dec 2015 14:43:26 +0000 (14:43 +0000)]
S/390: Wide int support.
gcc/ChangeLog
* config/s390/s390.c (s390_rtx_costs)
(s390_cannot_force_const_mem, legitimate_pic_operand_p)
(s390_preferred_reload_class, s390_reload_symref_address)
(legitimate_reload_constant_p, print_operand): Wide int support.
* config/s390/predicates.md ("const0_operand", "constm1_operand")
("consttable_operand"): Likewise.
("larl_operand"): Add a comment.
* config/s390/s390.h (TARGET_SUPPORTS_WIDE_INT): Enable wide int
support.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231566
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Fri, 11 Dec 2015 14:38:53 +0000 (14:38 +0000)]
libmpx/
2015-12-11 Tsvetkova Alexandra <aleksandra.tsvetkova@intel.com>
* mpxrt/Makefile.am (libmpx_la_LDFLAGS): Add -version-info
option.
* libmpxwrap/Makefile.am (libmpx_la_LDFLAGS): Likewise and
fix include path.
* libmpx/Makefile.in: Regenerate.
* mpxrt/Makefile.in: Regenerate.
* libmpxwrap/Makefile.in: Regenerate.
* mpxrt/libtool-version: New version.
* libmpxwrap/libtool-version: Likewise.
* mpxrt/libmpx.map: Add new version and a new symbol.
* mpxrt/mpxrt.h: New file.
* mpxrt/mpxrt.c (NUM_L1_BITS): Moved to mpxrt.h.
(REG_IP_IDX): Moved to mpxrt.h.
(REX_PREFIX): Moved to mpxrt.h.
(XSAVE_OFFSET_IN_FPMEM): Moved to mpxrt.h.
(MPX_L1_SIZE): Moved to mpxrt.h.
* libmpxwrap/mpx_wrappers.c (mpx_pointer): New type.
(mpx_bt_entry): New type.
(alloc_bt): New function.
(get_bt): New function.
(copy_if_possible): New function.
(copy_if_possible_from_end): New function.
(move_bounds): New function.
(__mpx_wrapper_memmove): Use move_bounds to copy bounds.
gcc/testsuite/
2015-12-11 Tsvetkova Alexandra <aleksandra.tsvetkova@intel.com>
* gcc.target/i386/mpx/memmove-1.c: New test.
* gcc.target/i386/mpx/memmove-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231565
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Fri, 11 Dec 2015 13:52:05 +0000 (13:52 +0000)]
gcc/
* config/nvptx/nvptx.h (TARGET_SUPPORTS_WIDE_INT): Define.
* config/nvptx/nvptx.c (nvptxx_assemble_integer): Return false for
unrecognizable RTX.
gcc/testsuite/
* gcc.target/nvptx/ary-init.c: Repair dg_final syntax.
* gcc.target/nvptx/decl-init.c: Likewise. Add TI case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231564
138bc75d-0d04-0410-961f-
82ee72b054a4
ville [Fri, 11 Dec 2015 12:04:23 +0000 (12:04 +0000)]
PR libstdc++/68139
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231562
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 11 Dec 2015 11:33:44 +0000 (11:33 +0000)]
Remove unpaired TERMINATE_PASS_LIST in passes.def
2015-12-11 Tom de Vries <tom@codesourcery.com>
* passes.def: Remove unpaired TERMINATE_PASS_LIST.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231561
138bc75d-0d04-0410-961f-
82ee72b054a4
matz [Fri, 11 Dec 2015 11:29:02 +0000 (11:29 +0000)]
* hash-map.h (hash_map::hash_map): Gather statistics only
when GATHER_STATISTICS is true.
* hash-set.h (hash_set::hash_set): Ditto.
* hash-table.h (hash_table::hash_table): Ditto.
(hash_table::create_ggc): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231560
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Fri, 11 Dec 2015 11:27:11 +0000 (11:27 +0000)]
Add an asssert and testcase for PR 68064
2015-12-11 Martin Jambor <mjambor@suse.cz>
PR ipa/68064
* ipa-prop.c (ipa_compute_jump_functions_for_edge): Add checking
assert that align is nonzero.
testsuite/
* g++.dg/torture/pr68064.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231559
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Fri, 11 Dec 2015 11:16:13 +0000 (11:16 +0000)]
S/390: Fix warnings in "*setmem_long..." patterns.
gcc/ChangeLog
* config/s390/s390.c (s390_expand_setmem): Use new expanders.
* config/s390/s390.md ("*setmem_long")
("*setmem_long_and", "*setmem_long_31z"): Fix warnings.
("*setmem_long_and_31z"): New define_insn.
("setmem_long_<P:mode>"): New expanders.
* (<modesize>): New mode attribute
gcc/testsuite/ChangeLog
* gcc.target/s390/md/setmem_long-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231558
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Fri, 11 Dec 2015 11:03:21 +0000 (11:03 +0000)]
S/390: Fix warnings in "*setmem_long..." patterns.
gcc/ChangeLog
* config/s390/s390.md ("movstr", "*movstr"): Fix warning.
("movstr<P:mode>"): New indirect expanders used by "movstr".
gcc/testsuite/ChangeLog
* gcc.target/s390/md/movstr-1.c: New test.
* gcc.target/s390/s390.exp: Add subdir md.
Do not run hotpatch tests twice.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231557
138bc75d-0d04-0410-961f-
82ee72b054a4
marxin [Fri, 11 Dec 2015 10:59:29 +0000 (10:59 +0000)]
Fix PR target/67484
Uros Bizjak <ubizjak@gmail.com>
PR target/67484
* config/i386/i386.c (ix86_valid_target_attribute_tree):
Use ggc_strdup to copy option_strings to opts->x_ix86_arch_string and
opts->x_ix86_tune_string.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231556
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 11 Dec 2015 10:53:53 +0000 (10:53 +0000)]
2015-12-11 Richard Biener <rguenther@suse.de>
* lto-streamer.h (lto_simple_header_with_strings): Remove
main_size field already in lto_simple_header.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231555
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Fri, 11 Dec 2015 10:51:04 +0000 (10:51 +0000)]
gcc/
* tree-vect-stmts.c (vectorizable_mask_load_store): Check
mask vectype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231554
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Fri, 11 Dec 2015 09:43:52 +0000 (09:43 +0000)]
gcc/
* config/i386/i386.c (ix86_get_mask_mode): Use scalar
modes for 32 and 16 byte boolean vectors when possible.
gcc/testsuite/
* gcc.dg/vect/vect-32-chars.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231553
138bc75d-0d04-0410-961f-
82ee72b054a4