This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/80038] [6/7/8 Regression] Random segfault using local vectors in Cilk function


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80038

--- Comment #31 from Jeffrey A. Law <law at gcc dot gnu.org> ---
Author: law
Date: Mon May  1 22:26:02 2017
New Revision: 247446

URL: https://gcc.gnu.org/viewcvs?rev=247446&root=gcc&view=rev
Log:
2017-05-01  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>

        PR c++/80038
        * cilk_common.c (expand_builtin_cilk_detach): Move pedigree
        operations here.
        * gimplify.c (gimplify_cilk_detach): New function.
        (gimplify_call_expr, gimplify_modify_expr): Call it as needed.
        * tree-core.h: Document EXPR_CILK_SPAWN.
        * tree.h (EXPR_CILK_SPAWN): Define.

        PR c++/80038
        * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
        prototype.
        (cilk_install_body_pedigree_operations): Likewise.
        * cilk.c (cilk_set_spawn_marker): Mark functions that should be
        detatched.
        (cilk_gimplify_call_params_in_spawned_fn): Remove.
        (cilk_install_body_pedigree_operations): Likewise.
        (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
        unwrapping.

        PR c++/80038
        * c-gimplify.c (c_gimplify_expr): Remove calls to
        cilk_gimplifY_call_params_in_spawned_fn.

        PR c++/80038
        * cp-cilkplus.c (cilk_install_body_with_frame_cleanup): Don't
        add pedigree operation and detach call here.
        * cp-gimplify.c (cp_gimplify_expr): Remove the calls to
        cilk_cp_gimplify_call_params_in_spawned_fn.
        (cilk_cp_gimplify_call_params_in_spawned_fn): Remove function.
        * semantics.c (simplify_aggr_init_expr): Copy EXPR_CILK_SPAWN.

        PR c++/80038
        * lto-lang.c (lto_init): Set in_lto_p earlier.

        PR c++/80038
        * g++.dg/cilk-plus/CK/pr80038.cc: New test.

Added:
    trunk/gcc/testsuite/g++.dg/cilk-plus/CK/pr80038.cc
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-common.h
    trunk/gcc/c-family/c-gimplify.c
    trunk/gcc/c-family/cilk.c
    trunk/gcc/c/ChangeLog
    trunk/gcc/c/c-typeck.c
    trunk/gcc/cilk-common.c
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/cp-cilkplus.c
    trunk/gcc/cp/cp-gimplify.c
    trunk/gcc/cp/semantics.c
    trunk/gcc/gimplify.c
    trunk/gcc/lto/ChangeLog
    trunk/gcc/lto/lto-lang.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-core.h
    trunk/gcc/tree.h

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]