- 16 Dec, 2015 4 commits
-
-
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
Jakub Jelinek committed -
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
Jan Hubicka committed -
* symtab.c (symtab_node::fixup_same_cpp_alias_visibility): Do not copy DECL_VIRTUAL_P. From-SVN: r231670
Jan Hubicka committed -
From-SVN: r231668
GCC Administrator committed
-
- 15 Dec, 2015 22 commits
-
-
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
Martin Sebor committed -
* 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
Nathan Sidwell committed -
* include/std/functional (_Mu<_Arg, false, false>::operator()): Restore accidentally-removed volatile qualifier. From-SVN: r231660
Jonathan Wakely committed -
* 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
Nathan Sidwell committed -
From-SVN: r231658
Jason Merrill committed -
From-SVN: r231657
Alessandro Fanfarillo committed -
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
Marek Polacek committed -
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
Ilya Verbin committed -
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
Bernd Schmidt committed -
* 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
Jonathan Wakely committed -
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
Jonathan Wakely committed -
* 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
Nathan Sidwell committed -
From-SVN: r231649
Alessandro Fanfarillo committed -
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
Martin Jambor committed -
From-SVN: r231647
Alessandro Fanfarillo committed -
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
Paolo Carlini committed -
testsuite/ * gcc.target/visium/block_move.c: Skip for -mcpu=gr5. From-SVN: r231645
Olivier Hainque committed -
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
Jakub Jelinek committed -
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
Tim Shen committed -
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
Patrick Palka committed -
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
Jerry DeLisle committed -
From-SVN: r231638
GCC Administrator committed
-
- 14 Dec, 2015 14 commits
-
-
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. From-SVN: r231635
Steve Ellcey committed -
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. From-SVN: r231634
Steve Ellcey committed -
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. From-SVN: r231632
Jason Merrill committed -
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. From-SVN: r231631
Tobias Burnus committed -
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. From-SVN: r231630
Tom de Vries committed -
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. From-SVN: r231628
Nathan Sidwell committed -
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. From-SVN: r231624
Jakub Jelinek committed -
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. From-SVN: r231623
Ilya Verbin committed -
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. From-SVN: r231621
Segher Boessenkool committed -
re PR tree-optimization/68707 (testcase gcc.dg/vect/O3-pr36098.c vectorized using VEC_PERM_EXPR rather than VEC_LOAD_LANES) 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. From-SVN: r231620
Richard Biener committed -
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. From-SVN: r231619
Richard Biener committed -
re PR tree-optimization/68775 (spec2006 test case 465.tonto fails with the gcc 6.0 fortran compiler) 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. From-SVN: r231617
Richard Biener committed -
* combine.c (change_zero_ext): Do not create a shift of zero length. From-SVN: r231613
Kyrylo Tkachov committed -
From-SVN: r231612
Ville Voutilainen committed
-