[Bug c++/69024] [cilkpus] cilk_spawn is broken for initializations with implicit conversion operators defined

law at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Apr 27 20:42:00 GMT 2016


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

--- Comment #1 from Jeffrey A. Law <law at gcc dot gnu.org> ---
Author: law
Date: Wed Apr 27 20:41:52 2016
New Revision: 235534

URL: https://gcc.gnu.org/viewcvs?rev=235534&root=gcc&view=rev
Log:
        PR c++/69024
        PR c++/68997
        * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
        (cilk_recognize_spawn): Renamed from recognize_spawn and change to
        external linkage.
        (cilk_detect_and_unwrap): Corresponding changes.
        (extract_free_variables): Don't extract free variables from
        AGGR_INIT_EXPR slot.
        * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
        (cilk_recognize_spawn): Likewise.

        PR c++/69024
        PR c++/68997
        * cp-gimplify.c (cp_gimplify_expr): Call
cilk_cp_detect_spawn_and_unwrap
        instead of cilk_detect_spawn_and_unwrap.
        * cp-cilkplus.c (is_conversion_operator_function_decl_p): New.
        (find_spawn): New.
        (cilk_cp_detect_spawn_and_unwrap): New.
        * lambda.c: Include cp-cilkplus.h.
        * parser.c: Include cp-cilkplus.h.
        * cp-tree.h (cpp_validate_cilk_plus_loop): Move prototype into...
        * cp-cilkpus.h: New file.

        PR c++/69024
        PR c++/68997
        * g++.dg/cilk-plus/CK/pr68001.cc: Fix to not depend on broken
        diagnostic.
        * g++.dg/cilk-plus/CK/pr69024.cc: New test.
        * g++.dg/cilk-plus/CK/pr68997.cc: New test.

Added:
    trunk/gcc/cp/cp-cilkplus.h
    trunk/gcc/testsuite/g++.dg/cilk-plus/CK/pr68997.cc
    trunk/gcc/testsuite/g++.dg/cilk-plus/CK/pr69024.cc
Modified:
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-common.h
    trunk/gcc/c-family/cilk.c
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/cp-cilkplus.c
    trunk/gcc/cp/cp-gimplify.c
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/lambda.c
    trunk/gcc/cp/parser.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/cilk-plus/CK/pr68001.cc


More information about the Gcc-bugs mailing list